The present invention relates generally to the field of counter management and more particularly to binary counters.
Traditionally, modulo binary counters are implemented by making the modulus value a power of two such as 1, 2, 4, 8, 16, 32, etc. This is done so that when the counter fills up with data and overflows, the value wraps back to zero due to the nature of binary counters which can only store a finite number of bits of data. When the value of each bit in the counter becomes a value of one, no larger values can be stored by the counter, and when the counter is increased again, the value wraps back to zero as a result. The value at which the counter wraps back to a value of zero is referred to as the modulus value for the counter.